home *** CD-ROM | disk | FTP | other *** search
- /*
- ** 2002 / MUI Toolbar example, converted from the AmigaE source by Philippe van Calsteren
- **
- ** Example code for Toolbar.mcc.
- ** $VER: Toolbar-Demo.e V1.1 (10-Sep-99)
- ** by QXY (qxyka@elender.hu)
- **
- ** ToolBar.mcc & InfoText.mcc
- ** (C) Benny Kjær Nielsen
- */
-
- MODULE 'dos/dos', 'utility/tagitem'
- MODULE 'intuition/intuition','utility/tagitem','graphics/text',
- 'intuition/classes',
- 'intuition/classusr',
- 'intuition/screens'
-
- MODULE 'muimaster', 'libraries/mui',
- 'mui/toolbar_mcc', 'mui/infotext_mcc',
- 'utility','utility/tagitem',
- 'lib/amiga'
- DEF MUIMasterBase, UtilityBase
- CONST ERR_MEM=1
- ENUM NEW_, OPEN, CUT=3, COPY, PASTE, UNDO
- ENUM BOLD, ITALIC, UNDERLINED, LEFT=4, CENTER, RIGHT
- DEF app, wi_Main, tb_Bank1, tb_Bank2, tx_Status, tx_About, floatText, //sigs,
- list_Bank1:PTR TO LONG, list_Bank2:PTR TO LONG, bank1, bank2, cc, //open, cc,
- running, result, signal
- RAISE ERR_MEM IF New()=NIL
-
- PROC main()
-
- list_Bank1:=[[TDT_BUTTON, "n", 0, 'New', NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_BUTTON, "o", 0, 'Open', NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_SPACE, NIL, NIL, NIL, NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_BUTTON, "c", 0, 'Cut', NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_BUTTON, "y", 0, 'Copy', NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_BUTTON, "p", 0, 'Paste', NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_BUTTON, "u", 0, 'Undo', NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_END, NIL, NIL, NIL, NIL, NIL]:MUIP_Toolbar_Description]
-
- // list_Bank1:=[Toolbar_KeyButton(0, 'New', "n"),
- // Toolbar_KeyButton(TDF_GHOSTED, 'Open', "o"),
- // Toolbar_Space,
- // Toolbar_KeyButton(0, 'Cut', "c"),
- // Toolbar_KeyButton(0, 'Copy', "y"),
- // Toolbar_KeyButton(0, 'Paste', "p"),
- // Toolbar_KeyButton(0, 'Undo', "u"),
- // Toolbar_End]
-
- bank1:=New(8*SIZEOF_MUIP_Toolbar_Description)
- FOR cc:=0 TO 7 DO CopyMem(list_Bank1[cc],bank1+(cc*SIZEOF_MUIP_Toolbar_Description),SIZEOF_MUIP_Toolbar_Description)
-
- list_Bank2:=[[TDT_BUTTON, 0, TDF_TOGGLE+TDF_SELECTED, 0, 'Bold text', 0]:MUIP_Toolbar_Description,
- [TDT_BUTTON, 0, TDF_TOGGLE, 0, 'Italic text', 0]:MUIP_Toolbar_Description,
- [TDT_BUTTON, 0, TDF_TOGGLE, 0, 'Underlined text', 0]:MUIP_Toolbar_Description,
- [TDT_SPACE, NIL, NIL, NIL, NIL, NIL]:MUIP_Toolbar_Description,
- [TDT_BUTTON, 0, TDF_RADIOTOGGLE+TDF_SELECTED, 0, 'Left aligned', $0020+$0040]:MUIP_Toolbar_Description,
- [TDT_BUTTON, 0, TDF_RADIOTOGGLE, 0, 'Centered', $0010+$0040]:MUIP_Toolbar_Description,
- [TDT_BUTTON, 0, TDF_RADIOTOGGLE, 0, 'Right aligned', $0010+$0020]:MUIP_Toolbar_Description,
- [TDT_END, 0, 0, 0, 0, 0]:MUIP_Toolbar_Description]
- bank2:=New(8*SIZEOF_MUIP_Toolbar_Description)
- FOR cc:=0 TO 7 DO CopyMem(list_Bank2[cc],bank2+(cc*SIZEOF_MUIP_Toolbar_Description),SIZEOF_MUIP_Toolbar_Description)
-
- IFN MUIMasterBase:=OpenLibrary(MUIMASTER_NAME, MUIMASTER_VMIN) THEN
- Raise('app')
- IFN UtilityBase:=OpenLibrary('utility.library',36) THEN
- Raise('Failed to open utility.library')
-
- floatText:='This is a simple demonstration OF the features '+
- 'offered by the Toolbar class. IF you want to know '+
- 'all the details then just take a quick look in '+
- 'the autodoc.\n\n'+
- 'Comments, suggestions, bugreports, etc. can be '+
- 'e-mailed to floyd@amiga.dk OR benny@diku.dk.\n\n'+
- 'Latest release is available at:\n'+
- ' http://www.diku.dk/students/benny'
-
- app := ApplicationObject,
- MUIA_Application_Title , 'Toolbar-Demo',
- MUIA_Application_Version , '$VER: Toolbar-Demo V1.1.1 (12-Okt-02)',
- MUIA_Application_Copyright , '(C)PVC 2002.',
- MUIA_Application_Author , 'PVC',
- MUIA_Application_Description, 'Toolbar.mcc demo program in AmigaD',
- MUIA_Application_Base , 'TOOLBAR',
-
- SubWindow, wi_Main := WindowObject,
- MUIA_Window_Title, 'Toolbar Demo',
- MUIA_Window_ID , "MAIN",
- WindowContents, HGroup,
-
- Child, VGroup,
- Child, HGroup,
- Child, RectangleObject, End,
-
- Child, tb_Bank1:= MUI_NewObjectA('Toolbar.mcc',[TAG_IGNORE, 0,
- MUIA_Toolbar_ImageType, MUIV_Toolbar_ImageType_File,
- MUIA_Toolbar_ImageNormal, 'PROGDIR:Images/ButtonBank1.bsh',
- MUIA_Toolbar_ImageSelect, 'PROGDIR:Images/ButtonBank1s.bsh',
- MUIA_Toolbar_ImageGhost, 'PROGDIR:Images/ButtonBank1g.bsh',
- MUIA_Toolbar_Description, bank1,
- MUIA_Font, MUIV_Font_Tiny,
- MUIA_ShortHelp, FALSE,
- MUIA_Draggable, MUI_TRUE,
- End),
-
- Child, RectangleObject, End,
- End,
- Child, tx_Status := MUI_NewObjectA(MUIC_InfoText,[TAG_IGNORE, 0, End),
- Child, tx_About := FloattextObject, TextFrame,
- MUIA_Background, MUII_TextBack,
- MUIA_Floattext_Text, floatText,
- End,
- End,
- Child, VGroup,
- Child, RectangleObject, End,
-
- Child, tb_Bank2 := MUI_NewObjectA('Toolbar.mcc',[TAG_IGNORE, 0, //ToolbarObject,
- MUIA_Toolbar_ImageType, MUIV_Toolbar_ImageType_File,
- MUIA_Toolbar_ImageNormal, 'PROGDIR:Images/ButtonBank2.bsh',
- MUIA_Toolbar_ImageSelect, 'PROGDIR:Images/ButtonBank2s.bsh',
- MUIA_Toolbar_ImageGhost, 'PROGDIR:Images/ButtonBank2g.bsh',
- MUIA_Toolbar_Description, bank2,
- MUIA_ShortHelp, MUI_TRUE,
- MUIA_Toolbar_Horizontal, FALSE,
- End),
-
- Child, RectangleObject, End,
- End,
- End,
- End,
- End
-
- IFN app THEN Raise('app')
-
- DoMethod(wi_Main,MUIM_Notify,MUIA_Window_CloseRequest, MUI_TRUE,app,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit)
-
- DoMethod(tb_Bank1, MUIM_Toolbar_Notify, NEW_, MUIV_Toolbar_Notify_Pressed, FALSE,app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit)
- DoMethod(tb_Bank1, MUIM_Toolbar_KillNotify, 0, MUIV_Toolbar_Notify_Pressed)
- DoMethod(tb_Bank1, MUIM_Toolbar_Notify, COPY, MUIV_Toolbar_Notify_Pressed, MUIV_EveryTime,tb_Bank2, 4, MUIM_Toolbar_Set, BOLD, MUIV_Toolbar_Set_Selected, MUIV_TriggerValue)
- DoMethod(tb_Bank1, MUIM_Notify, MUIA_Toolbar_HelpString, MUIV_EveryTime,tx_Status, 3, MUIM_Set, MUIA_Text_Contents, MUIV_TriggerValue)
-
- DoMethod(tb_Bank2,MUIM_Toolbar_Notify,UNDERLINED,MUIV_Toolbar_Notify_Pressed,FALSE,MUIV_Notify_Self,4,MUIM_Toolbar_Set,ITALIC,MUIV_Toolbar_Set_Selected,FALSE)
- DoMethod(tb_Bank2,MUIM_Notify,MUIA_Toolbar_HelpString,MUIV_EveryTime,tx_Status,3,MUIM_Set,MUIA_Text_Contents,MUIV_TriggerValue)
-
- set(wi_Main,MUIA_Window_Open,MUI_TRUE)
- running:=TRUE
- WHILE running
- result:=DoMethod(app, MUIM_Application_NewInput, &signal)
- SELECT result
- CASE MUIV_Application_ReturnID_Quit
- running:=FALSE
- DEFAULT
- IF running THEN IF signal THEN Wait(signal)
- ENDSELECT
- ENDWHILE
- set(wi_Main,MUIA_Window_Open,FALSE)
-
- EXCEPTDO
-
- IF app THEN MUI_DisposeObject(app) //IF mcc THEN MUI_DeleteCustomClass(mcc)
- IF MUIMasterBase THEN CloseLibrary(MUIMasterBase)
- IF exception THEN PrintF('\s\n',exception)
- IF exception
- IF exception>ERR_MEM THEN PrintF('\s\n',exception) ELSE PrintF('Not enough memory!\n') ENDIF
- IF MUIMasterBase THEN CloseLibrary(MUIMasterBase)
-
- ENDPROC
-